home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
1833
/
1833.xpi
/
components
/
library-loader.js
< prev
next >
Wrap
Text File
|
2009-12-16
|
1KB
|
36 lines
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
// The bulk of this function was taken from:
//
// http://code.google.com/p/gears/source/browse/trunk/gears/base/firefox/static_files/components/stub.js
function NSGetModule() {
return {
registerSelf: function(compMgr, location, loaderStr, type) {
var appInfo = Cc["@mozilla.org/xre/app-info;1"]
.getService(Ci.nsIXULAppInfo);
var runtime = Cc["@mozilla.org/xre/app-info;1"]
.getService(Ci.nsIXULRuntime);
var osDirName = runtime.OS + "_" + runtime.XPCOMABI;
var platformVersion = appInfo.platformVersion.substring(0, 5);
var libFile = location.parent.parent;
libFile.append("lib");
libFile.append(osDirName);
libFile.append(platformVersion);
if (!libFile.exists()) return;
// Note: we register a directory instead of an individual file because
// Gecko will only load components with a specific file name pattern. We
// don't want this file to have to know about that. Luckily, if you
// register a directory, Gecko will look inside the directory for files
// to load.
compMgr = compMgr.QueryInterface(Ci.nsIComponentRegistrar);
compMgr.autoRegister(libFile);
}
};
}